package com.ruoyi.whole.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.vo.PoCommon;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 实销上报客户信息对象 dms_sale_report_customer_info
 * 
 * @author liuchuanfa
 * @date 2024-03-10
 */
public class DmsSaleReportCustomerInfo extends PoCommon
{
    private static final long serialVersionUID = 1L;

    /** 实销上报id */
    @Excel(name = "实销上报id")
    private Long salesReportId;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String name;

    /** 客户电话 */
    @Excel(name = "客户电话")
    private String phone;

    /** 客户生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "客户生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 客户年龄 */
    @Excel(name = "客户年龄")
    private Integer age;

    /** 客户性别（0男 1女） */
    @Excel(name = "客户性别", readConverterExp = "0=男,1=女")
    private Integer gender;

    /** 客户货币（0人民币、1美元、2其他） */
    @Excel(name = "客户货币", readConverterExp = "0=人民币,1=美元,2=其他")
    private Integer currency;

    /** 客户国籍（0中国、1外国） */
    @Excel(name = "客户国籍", readConverterExp = "0=中国,1=外国")
    private Integer nationality;

    /** 邮件地址 */
    @Excel(name = "邮件地址")
    private String email;

    /** 客户地址 */
    @Excel(name = "客户地址")
    private String address;

    /** 购车价格 */
    @Excel(name = "购车价格")
    private Double buyPrice;

    /** 支付方式（0微信支付、1支付宝支付、2现金支付、3银行卡支付） */
    @Excel(name = "支付方式", readConverterExp = "0=微信支付,1=支付宝支付,2=现金支付,3=银行卡支付")
    private Integer paymentMethod;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String plateNumber;

    /** 上牌日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上牌日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plateDate;

    /** 婚姻状况（0未婚、1已婚） */
    @Excel(name = "婚姻状况", readConverterExp = "0=未婚,1=已婚")
    private Integer maritalStatus;

    /** 月薪 */
    @Excel(name = "月薪")
    private Double salary;

    /** 是否首次购车（0不是、1是） */
    @Excel(name = "是否首次购车", readConverterExp = "0=不是,1=是")
    private Integer isFirstTime;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;


    public void setSalesReportId(Long salesReportId) 
    {
        this.salesReportId = salesReportId;
    }

    public Long getSalesReportId() 
    {
        return salesReportId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setAge(Integer age) 
    {
        this.age = age;
    }

    public Integer getAge() 
    {
        return age;
    }
    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }
    public void setCurrency(Integer currency) 
    {
        this.currency = currency;
    }

    public Integer getCurrency() 
    {
        return currency;
    }
    public void setNationality(Integer nationality) 
    {
        this.nationality = nationality;
    }

    public Integer getNationality() 
    {
        return nationality;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setBuyPrice(Double buyPrice) 
    {
        this.buyPrice = buyPrice;
    }

    public Double getBuyPrice() 
    {
        return buyPrice;
    }
    public void setPaymentMethod(Integer paymentMethod) 
    {
        this.paymentMethod = paymentMethod;
    }

    public Integer getPaymentMethod() 
    {
        return paymentMethod;
    }
    public void setPlateNumber(String plateNumber) 
    {
        this.plateNumber = plateNumber;
    }

    public String getPlateNumber() 
    {
        return plateNumber;
    }
    public void setPlateDate(Date plateDate) 
    {
        this.plateDate = plateDate;
    }

    public Date getPlateDate() 
    {
        return plateDate;
    }
    public void setMaritalStatus(Integer maritalStatus) 
    {
        this.maritalStatus = maritalStatus;
    }

    public Integer getMaritalStatus() 
    {
        return maritalStatus;
    }
    public void setSalary(Double salary) 
    {
        this.salary = salary;
    }

    public Double getSalary() 
    {
        return salary;
    }
    public void setIsFirstTime(Integer isFirstTime) 
    {
        this.isFirstTime = isFirstTime;
    }

    public Integer getIsFirstTime() 
    {
        return isFirstTime;
    }
    public String getRemark() {return remark;}

    public void setRemark(String remark) {this.remark = remark;}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("salesReportId", getSalesReportId())
            .append("name", getName())
            .append("phone", getPhone())
            .append("birthday", getBirthday())
            .append("age", getAge())
            .append("gender", getGender())
            .append("currency", getCurrency())
            .append("nationality", getNationality())
            .append("email", getEmail())
            .append("address", getAddress())
            .append("buyPrice", getBuyPrice())
            .append("paymentMethod", getPaymentMethod())
            .append("plateNumber", getPlateNumber())
            .append("plateDate", getPlateDate())
            .append("remark", getRemark())
            .append("maritalStatus", getMaritalStatus())
            .append("salary", getSalary())
            .append("isFirstTime", getIsFirstTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createUserName", getCreateUserName())
            .append("updateUserName", getUpdateUserName())
            .append("version", getVersion())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
